<!DOCTYPE html>
<html  lang="zh">
<head>
    <meta charset="utf-8" />

<meta name="generator" content="Hexo 4.2.0" />

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />

<title>Hexo</title>


    <meta property="og:type" content="website">
<meta property="og:title" content="Hexo">
<meta property="og:url" content="https://lei929.gitee.io/index.html">
<meta property="og:site_name" content="Hexo">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://lei929.gitee.io/images/og_image.png">
<meta property="article:author" content="John Doe">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://lei929.gitee.io/images/og_image.png">







<link rel="icon" href="/images/favicon.svg">


<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.7.2/css/bulma.css">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.1/css/all.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu:400,600|Source+Code+Pro">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/highlight.js@9.12.0/styles/atom-one-light.css">


    
    
<style>body>.footer,body>.navbar,body>.section{opacity:0}</style>

    
    
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/lightgallery@1.6.8/dist/css/lightgallery.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/justifiedGallery@3.7.0/dist/css/justifiedGallery.min.css">

    
    
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/outdatedbrowser@1.1.5/outdatedbrowser/outdatedbrowser.min.css">

    
    
    
    
<link rel="stylesheet" href="/css/back-to-top.css">

    
    
    
    
    
    
    
    <link rel="stylesheet" href="/css/progressbar.css">
<script src="https://cdn.jsdelivr.net/npm/pace-js@1.0.2/pace.min.js"></script>
    
    
    


<link rel="stylesheet" href="/css/style.css">
</head>
<body class="is-3-column">
    <nav class="navbar navbar-main">
    <div class="container">
        <div class="navbar-brand is-flex-center">
            <a class="navbar-item navbar-logo" href="/">
            
                <img src="/images/logo.svg" alt="Hexo" height="28">
            
            </a>
        </div>
        <div class="navbar-menu">
            
            <div class="navbar-start">
                
                <a class="navbar-item is-active"
                href="/">主页</a>
                
                <a class="navbar-item"
                href="/archives">归档</a>
                
                <a class="navbar-item"
                href="/categories">分类</a>
                
                <a class="navbar-item"
                href="/tags">标签</a>
                
                <a class="navbar-item"
                href="/about">关于</a>
                
            </div>
            
            <div class="navbar-end">
                
                    
                    <a class="navbar-item" target="_blank" rel="noopener" title="Download on GitHub" href="https://github.com/ppoffice/hexo-theme-icarus">
                        
                        <i class="fab fa-github"></i>
                        
                    </a>
                    
                
                
                
                <a class="navbar-item search" title="搜索" href="javascript:;">
                    <i class="fas fa-search"></i>
                </a>
                
            </div>
        </div>
    </div>
</nav>
	
    
	
    <section class="section">
        <div class="container">
            <div class="columns">			
                <div class="column is-8-tablet is-8-desktop is-6-widescreen has-order-2 column-main">
    
<div class="card">
    
    <div class="card-content article ">
        
        <div class="level article-meta is-size-7 is-uppercase is-mobile is-overflow-x-auto">
            <div class="level-left">
                <time class="level-item has-text-grey" datetime="2020-03-21T12:54:44.958Z">2020-03-21</time>
                
                
                <span class="level-item has-text-grey">
                    
                    
                    1 分钟 读完 (大约 207 个字)
                </span>
                
                
            </div>
        </div>
        
        <h1 class="title is-size-3 is-size-4-mobile has-text-weight-normal">
            
                <a class="has-link-black-ter" href="/2020/03/21/node%E7%AC%94%E8%AE%B0/">node笔记</a>
            
        </h1>
        <div class="content">
            <h2 id="1-Node能够解决什么问题"><a href="#1-Node能够解决什么问题" class="headerlink" title="1. Node能够解决什么问题?"></a>1. Node能够解决什么问题?</h2><ul>
<li>Node的首要目标是提供一种简单的，用于创建高性能服务器的开发工具</li>
<li>Web服务器的瓶颈在于并发的用户量，对比Java和Php的实现方式</li>
</ul>
<h2 id="2-Node是什么"><a href="#2-Node是什么" class="headerlink" title="2. Node是什么?"></a>2. Node是什么?</h2><ul>
<li>Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,让JavaScript的执行效率与低端的C语言的相近的执行效率。。</li>
<li>Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型，使其轻量又高效。</li>
<li>Node.js 的包管理器 npm，是全球最大的开源库生态系统。</li>
</ul>
<h2 id="3-Node特点"><a href="#3-Node特点" class="headerlink" title="3. Node特点"></a>3. Node特点</h2><h3 id="3-1-为什么JavaScript是单线程？"><a href="#3-1-为什么JavaScript是单线程？" class="headerlink" title="3.1 为什么JavaScript是单线程？"></a>3.1 为什么JavaScript是单线程？</h3><ul>
<li>这是由 Javascript 这门脚本语言的用途决定的。</li>
<li>Web Worker并没有改变 JavaScript 单线程的本质。</li>
</ul>

        </div>
        
        
        
    </div>
</div>








    
<div class="card">
    
    <div class="card-content article ">
        
        <div class="level article-meta is-size-7 is-uppercase is-mobile is-overflow-x-auto">
            <div class="level-left">
                <time class="level-item has-text-grey" datetime="2020-03-19T02:31:00.849Z">2020-03-19</time>
                
                
                <span class="level-item has-text-grey">
                    
                    
                    4 分钟 读完 (大约 570 个字)
                </span>
                
                
            </div>
        </div>
        
        <h1 class="title is-size-3 is-size-4-mobile has-text-weight-normal">
            
                <a class="has-link-black-ter" href="/2020/03/19/promise%E5%9F%BA%E7%A1%80%E5%AD%A6%E4%B9%A0/">promise基础学习</a>
            
        </h1>
        <div class="content">
            <p>promise</p>
<h1 id="1、高阶函数的使用"><a href="#1、高阶函数的使用" class="headerlink" title="1、高阶函数的使用"></a>1、高阶函数的使用</h1><blockquote>
<p>使用高阶函数解决异步问题。说到异步肯定要说到回调函数，其实就是高阶函数，回调函数是高阶函数的一种。</p>
<p>什么是高阶函数？</p>
<p>1、如果一个函数的参数是一个函数（回调函数）</p>
<p>2、或者一个函数返回了一个函数（函数柯里化）</p>
</blockquote>
<figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> (<span class="params">cb</span>) </span>&#123;</span><br><span class="line">    cb()</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">function</span> (<span class="params"></span>) </span>&#123;</span><br><span class="line">    <span class="keyword">return</span> <span class="function"><span class="keyword">function</span> <span class="title">name</span>(<span class="params">params</span>)</span>&#123;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>

<blockquote>
<p>高阶函数能解决哪些问题？</p>
<p>常见的高阶函数的应用，有一个核心功能：扩展这个函数，不破坏原有的函数，又想在这里加入一些功能。</p>
<p>对函数进行包装 （装饰） 切片编程（我们可以把核心抽离出来） 包装上自己的内容 切片AOP(面向切片编程)</p>
</blockquote>
<figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// 什么叫高阶函数  如果一个函数的参数是一个函数 （回调函数） 一个函数返回一个函数 （函数柯里化）</span></span><br><span class="line"><span class="comment">// 写代码时我们希望不要破坏原有逻辑 而增加一些功能</span></span><br><span class="line"><span class="comment">// 对函数进行包装 （装饰） 切片编程（我们可以把核心抽离出来） 包装上自己的内容 切片AOP</span></span><br><span class="line"><span class="keyword">const</span> say = <span class="function">(<span class="params">...args</span>) =&gt;</span>&#123; <span class="comment">// 剩余运算符 可以将参数转换成一个数组</span></span><br><span class="line">    <span class="comment">// todo...</span></span><br><span class="line">    <span class="built_in">console</span>.log(<span class="string">'说话'</span>,args)</span><br><span class="line">&#125;</span><br><span class="line"><span class="comment">// 希望在调用say 方法之前做一些事</span></span><br><span class="line"><span class="comment">// Function.prototype 给每个函数都扩展一些功能</span></span><br><span class="line"><span class="built_in">Function</span>.prototype.before = <span class="function"><span class="keyword">function</span> (<span class="params">cb</span>) </span>&#123; <span class="comment">// 高阶函数</span></span><br><span class="line">    <span class="keyword">return</span> <span class="function">(<span class="params">...args</span>) =&gt;</span> &#123; <span class="comment">// 箭头函数中没有this指向</span></span><br><span class="line">        cb(); <span class="comment">// 调用用户提前传入的before方法</span></span><br><span class="line">        <span class="comment">// ...有两个作用 在函数参数中 叫剩余运算符。 展开运算符</span></span><br><span class="line">        <span class="keyword">this</span>(...args); <span class="comment">// apply 可以依次的将数组传入</span></span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">let</span> newSay = say.before(<span class="function"><span class="keyword">function</span> (<span class="params"></span>) </span>&#123;</span><br><span class="line">    <span class="built_in">console</span>.log(<span class="string">'before say'</span>)</span><br><span class="line">&#125;)</span><br><span class="line">newSay(<span class="string">'a'</span>,<span class="string">'b'</span>,<span class="string">'c'</span>); <span class="comment">// 传递参数的问题</span></span><br></pre></td></tr></table></figure>

<blockquote>
<p>this,看调用函数之前的上下文</p>
<p>箭头函数 没有this，没有arguments（对应于传递给函数的参数的类数组对象）</p>
</blockquote>
<h1 id="2-发布订阅模式和观察者模式"><a href="#2-发布订阅模式和观察者模式" class="headerlink" title="2 发布订阅模式和观察者模式"></a>2 发布订阅模式和观察者模式</h1><h1 id="3-promise核心应用"><a href="#3-promise核心应用" class="headerlink" title="3 promise核心应用"></a>3 promise核心应用</h1><h1 id="4-实现一个完整的promise库"><a href="#4-实现一个完整的promise库" class="headerlink" title="4 实现一个完整的promise库"></a>4 实现一个完整的promise库</h1><h1 id="5-promise中常见的方法"><a href="#5-promise中常见的方法" class="headerlink" title="5 promise中常见的方法"></a>5 promise中常见的方法</h1><h1 id="6-掌握generator的使用以及co库的应用"><a href="#6-掌握generator的使用以及co库的应用" class="headerlink" title="6 掌握generator的使用以及co库的应用"></a>6 掌握generator的使用以及co库的应用</h1><h1 id="7-异步终极解决方案async-await"><a href="#7-异步终极解决方案async-await" class="headerlink" title="7 异步终极解决方案async+await"></a>7 异步终极解决方案async+await</h1><h1 id><a href="#" class="headerlink" title></a></h1>
        </div>
        
        
        
    </div>
</div>








    
<div class="card">
    
    <div class="card-content article ">
        
        <div class="level article-meta is-size-7 is-uppercase is-mobile is-overflow-x-auto">
            <div class="level-left">
                <time class="level-item has-text-grey" datetime="2020-03-17T01:26:59.641Z">2020-03-17</time>
                
                
                <span class="level-item has-text-grey">
                    
                    
                    几秒 读完 (大约 57 个字)
                </span>
                
                
            </div>
        </div>
        
        <h1 class="title is-size-3 is-size-4-mobile has-text-weight-normal">
            
                <a class="has-link-black-ter" href="/2020/03/17/MD%E8%AF%AD%E6%B3%95%E5%81%8F%E5%A5%BD/">MD语法偏好</a>
            
        </h1>
        <div class="content">
            <p>记录一些排版比较漂亮的md语法</p>
<h1 id="1、序号和红色字体"><a href="#1、序号和红色字体" class="headerlink" title="1、序号和红色字体"></a>1、序号和红色字体</h1><p>1⃣第一步:<br>2⃣第二步:<br>3⃣第三步:<br>4⃣第四步:</p>
<p><code>红色字体！</code>  </p>
<p><img src="/2020/03/17/MD%E8%AF%AD%E6%B3%95%E5%81%8F%E5%A5%BD/image-20200317092828731.png" alt="image-20200317092828731"></p>

        </div>
        
        
        
    </div>
</div>








    
<div class="card">
    
    <div class="card-content article ">
        
        <div class="level article-meta is-size-7 is-uppercase is-mobile is-overflow-x-auto">
            <div class="level-left">
                <time class="level-item has-text-grey" datetime="2020-03-17T01:12:12.286Z">2020-03-17</time>
                
                
                <span class="level-item has-text-grey">
                    
                    
                    几秒 读完 (大约 102 个字)
                </span>
                
                
            </div>
        </div>
        
        <h1 class="title is-size-3 is-size-4-mobile has-text-weight-normal">
            
                <a class="has-link-black-ter" href="/2020/03/17/vscode%E8%AE%B0%E5%BD%95/">vscode记录</a>
            
        </h1>
        <div class="content">
            <h1 id="VSCode插件篇"><a href="#VSCode插件篇" class="headerlink" title="VSCode插件篇"></a>VSCode插件篇</h1><p><strong><em>\</em>-*****</strong>*VSCode一个插件迅速提升代码质量****</p>
<p>优秀的代码重构工具:这个插件可以重构你的代码，提升代码质量，B站技术胖推荐看到。</p>
<p>Javascript booster 助推器</p>
<p>Code runner  可以运行单行代码</p>
<p>Code spell checker  帮助检查代码是否拼写错误</p>
<p>Bracket Pair Colorizer 匹配括号是否成对出现有颜色</p>

        </div>
        
        
        
    </div>
</div>








    
<div class="card">
    
    <div class="card-content article ">
        
        <div class="level article-meta is-size-7 is-uppercase is-mobile is-overflow-x-auto">
            <div class="level-left">
                <time class="level-item has-text-grey" datetime="2020-03-17T01:08:16.872Z">2020-03-17</time>
                
                
                <span class="level-item has-text-grey">
                    
                    
                    11 分钟 读完 (大约 1605 个字)
                </span>
                
                
            </div>
        </div>
        
        <h1 class="title is-size-3 is-size-4-mobile has-text-weight-normal">
            
                <a class="has-link-black-ter" href="/2020/03/17/%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95/">学习方法</a>
            
        </h1>
        <div class="content">
            <p>学习方法</p>
<p><img src="/2020/03/17/%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95/1.png" alt="1"></p>
<h1 id="1、快速学习四步走起"><a href="#1、快速学习四步走起" class="headerlink" title="1、快速学习四步走起"></a>1、快速学习四步走起</h1><p>1⃣第一步: 快速读一遍API文档1-天，树立框架全局观，一定要敲上面的api小demo<br>2⃣第二步: 4-7天实战，做项目可看视频（笔记+复习）<br>3⃣第三步: 技术变现，在公司推行新技术（非主力项目试水）<br>4⃣第四步:大神之路阅读github代码，出教程。</p>
<p><code>最好的是带着问题去学习！</code>  </p>
<p>带着问题去学习（保持阶段性的学习，在不同阶段制定不同学习目标）<br>若是小白，则学习目标是学会一门技能去找一份编程工作<br>若是已在公司工作，则学习目标是能写一个完整系统程序<br>若具体工作没有问题，则学习目标是代码设计和架构设计，甚至是超大并发问题</p>
<h1 id="2、三招提高代码质量"><a href="#2、三招提高代码质量" class="headerlink" title="2、三招提高代码质量"></a>2、三招提高代码质量</h1><p>1.阅读《代码大全》，《code clean》书<br>2.以测试为驱动进行开发，它有两点好处：<br>- 让代码简洁可用<br>- 提高代码质量<br>从而提高效率。长期来看，就能建立起信任倍数<br>3.用匠人精神重构代码code review</p>
<h1 id="3、如何学习一门新的语言或者框架"><a href="#3、如何学习一门新的语言或者框架" class="headerlink" title="3、如何学习一门新的语言或者框架"></a>3、如何学习一门新的语言或者框架</h1><p>1、买书，看视频、先书后视频 ，看书不懂的地方再看视频<br>2、敲demo=&gt; 最好是toDoList(练：增删查改)<br>3、练扩展=&gt; 扩展周边技术（学习扩展生态）<br>4、看官方文档 =&gt; 查api（查缺补漏）<br>5、实战项目 =&gt; 在工作中项目实战运用到</p>
<p>项目工程实践，代码审查</p>
<h1 id="4、学习进阶篇"><a href="#4、学习进阶篇" class="headerlink" title="4、学习进阶篇"></a>4、学习进阶篇</h1><p><strong><em>\</em>进阶篇：**</strong></p>
<p>学习总结：<br>1.阅读github上的优秀开源代码<br>从最早的版本开始阅读，一层一层地阅读到最新版本，弄明白每次版本迭代的动机<br>2.造自己的轮子<br>1）写小的组件<br>2）写框架：可从简单的UI、CSS框架开始写，再模仿vue、react写简版的框架来锻炼自己的能力<br>ps：可参考书籍《javaScript框架设计》<br>3.学习设计模式<br>1）从书籍中学习不同的设计模式，有个大概的了解和区分<br>2）在别人的代码中找出并看懂设计模式<br>3）有意且刻意地在自己的练习项目中使用设计模式<br>4）尝试在工作项目中使用设计模式<br>5）在工作中重构代码，并使用设计模式<br>ps：可参考书籍《设计模式》《重构与模式》</p>
<h1 id="5、时间管理"><a href="#5、时间管理" class="headerlink" title="5、时间管理"></a>5、时间管理</h1><p>每天坚持固定一个时间段来学习很重要</p>
<p>早中晚，比如早上2个小时学习，并列学习计划</p>
<p>中午：复盘，温习早课</p>
<p>晚上：下班学习总结，睡前半小时不看代码，一定要复盘。</p>
<p>学了就忘。要经常用，需求驱动，记录，总结，思考，回顾，写博客笔记</p>
<h1 id="6、减少工作陋习"><a href="#6、减少工作陋习" class="headerlink" title="6、减少工作陋习"></a>6、减少工作陋习</h1><p>不好的编码命名</p>
<p>\1. 拼音命名<br>\2. 迷之简写<br>\3. 无意义的命名<br>\4. 一个名字多个意思（使用的单词有多个意思避免使用在变量名）</p>
<p>注释常犯错误</p>
<p>\1. 如果变量名已经很好就没必要无意义的注释<br>\2. 程序更新了，注释没有随之更新</p>
<p>代码整洁之道</p>
<p>\1. 不要在一个方法里做多个功能，方法尽量简单，只做一件事<br>\2. 根据代码结构做空行的处理<br>\3. 大量无用注释的代码仍然留在代码中，无用资源与无用方法仍然保留着</p>
<p>旧版本弊端</p>
<p>\1. 尽量使用新版本开发，避免使用老版本</p>
<p>异常中的坑</p>
<p>\1. 对于入参别人传递过来的参数进行异常检验<br>\2. 对于环境的处理：手机型号需要处理；权限需要处理；手机是否有网络、弱网络处理；空间满了的处理<br>\3. 初始化值的异常处理，当还没有获取到初始值的处理<br>\4. 捕获异常需要写入日志</p>
<p>## 代码之外</p>
<p>### 产品体验改善</p>
<p>对产品要有热爱与负责，有责任改善产品</p>
<p>坑：</p>
<p>\1. 止步于做完<br>- 测试做完的代码<br>- 对于体验进行改善让产品有更好的体验（和产品交互谈）<br>- 代码重构（代码要漂亮，可以根据代码大全来完善）<br>\2. 不抗拒任何不合理的需求<br>- 对产品要热爱，对于需求程序员要积极提出不合理的地方，并且告知如何改变（也就是你的改进想法）<br>\3. 不重视性能<br>- 有改善性能的意识</p>
<p>### 人际交往</p>
<p>不擅长交往，但是不能不交往</p>
<p>坑：</p>
<p>\1. 这不是我的问题</p>
<p>- 思考别人找你的理由，而不是直接怼回去</p>
<p>- 要有正确的态度，认真检查代码再发言<br>- 不要随便甩锅后台、产品经理，改善产品你也有责任</p>
<p>\2. 小自傲</p>
<p>- 太看重技术，忽略了技术之外的“技术”，你需要看到别人之于你可借鉴的一面<br>- 不愿意参加团建（你选择冷漠也别怪别人冷漠）</p>
<p>### 造轮子</p>
<p>不要轻易造轮子</p>
<p>造轮错误想法：</p>
<p>\1. 想表现自己<br>\2. 为了秀技术<br>\3. KPI产物<br>\4. 不维护</p>
<p>### 不恰当的自嘲</p>
<p>程序员的初心别忘，要乐观看待自己，给别人带去快乐</p>
<p>入职靠谱it公司</p>
<p>4个维度</p>
<p>1、个人发展</p>
<p>2、稳定性</p>
<p>三个方面</p>
<p>1、面试前了解公司融资情况</p>
<p>2、业务盈利能力</p>
<p>3、技术发展，不去外包</p>
<p>1 担当什么业务，技术对于业务的价值</p>
<p>2 公司的主要技术栈</p>
<p>3 薪资 年终薪资技术奖金</p>
<p>五险一金的基数</p>
<p>4 期权的问题</p>
<p>1、期权的比例</p>
<p>2、期权的转现，一般1-3年</p>
<p>3、离职后是否强制收购</p>
<p>4、期权的公允价多少</p>
<p>拿到offer快速回复</p>

        </div>
        
        
        
    </div>
</div>








    
<div class="card">
    
    <div class="card-content article ">
        
        <div class="level article-meta is-size-7 is-uppercase is-mobile is-overflow-x-auto">
            <div class="level-left">
                <time class="level-item has-text-grey" datetime="2020-03-15T08:27:35.592Z">2020-03-15</time>
                
                
                <span class="level-item has-text-grey">
                    
                    
                    27 分钟 读完 (大约 4033 个字)
                </span>
                
                
            </div>
        </div>
        
        <h1 class="title is-size-3 is-size-4-mobile has-text-weight-normal">
            
                <a class="has-link-black-ter" href="/2020/03/15/%E5%89%8D%E7%AB%AF%E7%9F%A5%E8%AF%86%E4%BD%93%E7%B3%BB%E5%AD%A6%E4%B9%A0/">前端知识体系学习</a>
            
        </h1>
        <div class="content">
            <h1 id="1、前端知识体系学习"><a href="#1、前端知识体系学习" class="headerlink" title="1、前端知识体系学习"></a>1、前端知识体系学习</h1><ul>
<li>1.拥有自己的技术博客，或者在一些博客平台上拥有自己的专栏</li>
<li>2.定期的将知识进行总结，不断完善自己的知识体系</li>
<li>3.尽量将自己的知识转换成真实的产出，不要仅仅停留在书面理解层面，更重要的是实际应用</li>
<li>4.坚持输出<code>自己</code>的代码，不要盲目的扎进公司业务</li>
</ul>
<h1 id="2、学习方法"><a href="#2、学习方法" class="headerlink" title="2、学习方法"></a>2、学习方法</h1><p>学习方法：如何在工作内外获得持续的技术成长</p>
<h2 id="1、求变之前认清自己"><a href="#1、求变之前认清自己" class="headerlink" title="1、求变之前认清自己"></a>1、求变之前认清自己</h2><blockquote>
<p>我是谁？我的身份是？未来我想要做什么？当下我可以做什么？我擅长什么？我还需要学会什么？其实有太多的问题可以问，，但我们往往找别人去问？我该学习什么，选框架A还是B,做技术还是管理？等等</p>
<p>答案都取决于我接下来 3 ~ 9 个月具体的行动，这些答案来源于我的原动力以及我规划的最优或者最可执行路径，可一旦我们眼睛看到 9 月后的结果，而忽视这个可执行路径，甚至忽略我的原动力的时候，结果就变得非常惋惜，那就是我竟然整个思考过程，我也就压根无法了解自己的真实诉求和真实能力。</p>
</blockquote>
<h2 id="2、习惯养成与定目标计划"><a href="#2、习惯养成与定目标计划" class="headerlink" title="2、习惯养成与定目标计划"></a>2、习惯养成与定目标计划</h2><blockquote>
<p>我的建议是，在定一个目标时候，比如半年内就要看完 6 个框架源码或者写博客，那么要考虑自己有没有阅读代码和写博客的习惯，如果从来没有，那么这个目标就有点激进，比如对于看代码，有效的做法是，先逼自己用 2 周时间，最多一个月时间，在相对固定的时间段去阅读源码，如果用两三周，发现自己完全坚持不下来，那么这个目标就要修正，如果自己坚持两三周慢慢形成了阅读代码的习惯，并且也从中受益获得一些兴趣和成就感，这时候才是要定目标的时候，因为这时候，你的习惯正在养成。</p>
<p>当你有了一种正在建立中的习惯或者成熟的习惯，也定了具体的目标后，就可以定具体的计划了，计划就是行动指南，要一板一眼的去执行的，坚决不能马虎大意，最好是一条条的写下来，比如：</p>
<ul>
<li>每周晚上 10 点钟，花 20 分钟粗读 React 的生命周期函数源码</li>
<li>每周六花 1 个小时，对本周 5 天的源码阅读及当时的笔记进行整理汇总，绘制函数关系图或者原理图</li>
<li>每周日花 2 个小时，针对本周阅读源码遇到的问题进行深入研究，及本地用代码测试模拟甚至模仿</li>
</ul>
<p>然后再把这个规律性的事项，分解到每一天，每一天都要打一个对勾，任务才算完成，完成了要给你自己一个激励，比如连续 5 天完成，可以奖励自己周末去看场电影，如此这般会有很多像打游戏闯关的奖惩细则，最后叠加进去到每日的手机/电脑/智能手表的行程中，给与自己强力的提醒，我相信如果这样能坚持一个月，也就是将近 100 天，一个习惯大概率就能养成了，就可以定第二个目标去养成第二个习惯了。</p>
<p>所以习惯和目标及计划的关系是，定目标前要尽可能先养成一个潜在的习惯，把自己的底线测试出来，然后调整目标，再拆解目标形成规律性的计划，最后把计划完成跟奖惩关联起来，并通过软硬件来跟自己进行提醒的互动，这注定是一个略显单调的过程，但这一定是一个越坚持越好玩的过程，等我们的习惯训练有了雏形的时候，我们才会真正启动持续成长这件事情。</p>
<p>求人不如求己</p>
</blockquote>
<h2 id="3、训练稳定的思维路径"><a href="#3、训练稳定的思维路径" class="headerlink" title="3、训练稳定的思维路径"></a>3、训练稳定的思维路径</h2><blockquote>
<p>我们前面对自己有了更客观的认知，也培养了完成目标的习惯，这两个前提条件就成立了，还缺第三样东西，就是稳定的思维路径，最刻板也最简单的思维方式就是穷尽式的提问，也就是前面认清自己这里，我用列举问题的这种办法，来让自己不断的接近某一个真相，那么面对任何一个困局的时候，都可以用这种方法。实际上，当你把几十个问题都回答一遍的过程中，你可以继续写下更击中灵魂的问题，而这次问题写下去的时候，往往答案就自然浮出水面。</p>
<p>提问的套路可以更简单一些，就是 What Why How，这个问题是什么，当前的真相是什么，为什么发生，为什么走到这个地步，基于这些原因要如何解决，无论任何事情，都逼自己去捉摸它去思考它的前因后果，慢慢会发现自己会变成一个喜欢上思考和善于思考的人，再也不是之前的那个鲁莽的毛头小子，看问题只看负面看现象只看表面。</p>
<p>认识自己、习惯养成、思维训练这三个要成年累月持续的做，当这些都逐渐变成长在自己身体内的一种能力的时候，所以你面临的问题都不会让你像之前那样焦虑，在做完这么长铺垫后，我们再来看如何获得持续的技术成长。</p>
</blockquote>
<h2 id="4、工作内外的技术成长"><a href="#4、工作内外的技术成长" class="headerlink" title="4、工作内外的技术成长"></a>4、工作内外的技术成长</h2><blockquote>
<p>我必须亮出我的核心观点：成长是经常不符合预期的，请记住，它大概率是不符合预期的，原因是自己的预期本身是非常主观不准确的，同时成长只是过程的积累并不是一个很直观的结果。</p>
<p>基于这样的背景，我们希望达成的共识是，无论成长是否预期，我都希望有持续的成长，同时盼望奇迹的发生 - 就是远超预期的成长会发生在我是身上。</p>
</blockquote>
<h2 id="5、工作内的成长主要来自项目"><a href="#5、工作内的成长主要来自项目" class="headerlink" title="5、工作内的成长主要来自项目"></a>5、工作内的成长主要来自项目</h2><blockquote>
<p>把业务中相关的组件、逻辑等等可以复用的东西抽象出来，这就是一个难题了。你可以通过学习比你厉害的同事的代码，也可以学习这方面业内顶尖的库是如何实现的，这就是在工作中学习及成长。抽离出比较常用的库和组件，了解常用的库实现的原理，比如可以看vue源码，阅读源码去了解，这也是工作中的学习和成长。</p>
<p>实际上大部分工作场景中的项目，对他深度的思考持续的思考都会带来较大的技术成长，但往往我们没有耐心和动力去做这件事情，因为会有雇佣心态。</p>
<p>比如：如果你的团队每次发布都要上服务器动手，除了发布系统外，可不可以有邮件和钉钉提醒，来推送给相关人，那么这个推送功能有没有可能做成一个独立的消息提醒中台系统，任何发布无论前后端都可以接入这个平台，然后在这个平台上配置应用与应用相关人，任何发布都会触发这个消息提醒服务，又贴心又实用，开发这么个系统既有前端也有后端，如果全部是自己动手做，哪怕是在下班后加班做，也岂不乐哉，因为是为工作打造的贴心功能，也大概率不会遇到阻力，同时它还有价值，自己技术也可以有更多的尝试，这样就是双赢的结果。</p>
<p>比如我们现在做的项目财务共享软件，这里面的动态添加菜单就特别好，可以研究下抽离出来，以后用到其他项目中来。</p>
</blockquote>
<h2 id="6、工作外的成长主要来自尝试与思考"><a href="#6、工作外的成长主要来自尝试与思考" class="headerlink" title="6、工作外的成长主要来自尝试与思考"></a>6、工作外的成长主要来自尝试与思考</h2><blockquote>
<p>工作外的成长更简单易操作一些，往往就是技术储备、技术尝鲜和总结思考，技术储备。所有感兴趣的方向都可以去学习储备。另外就是自己的想法，可以把他变成现实，比如一个行程提醒小工具，一个萝莉妹子叫起床小工具，一个自动生成周末食谱的工具等等，任何一个生活痛点和创意想法，都可以动手把它实现出来，前后端可以一起做，技术栈可以激进，所有的这些尝鲜都会带来技术视野的扩张，也会带来技术深度的沉淀.</p>
</blockquote>
<blockquote>
<p>最值得尝试的就是思考和总结，把任何自己学习的框架，看过的书，做过的项目，甚至解决过的 Bug，都可以有序的整理起来，把这些整理变成文字和图表，来强化自己对于技术的记忆，所有的这些记忆重复训练的次数越多，对于他们的理解和运营就越娴熟，往往最慢的反而是最有效的。</p>
</blockquote>
<h2 id="小结："><a href="#小结：" class="headerlink" title="小结："></a>小结：</h2><blockquote>
<p>成长是一个永恒的话题，互联网几十年来，无数的新人问成长，也无数的新人变老人，有的混成一方大拿，有的混成螺丝工头，抛开经济环境、行业趋势和公司经营，更多时候取决于我们成长的是一些学习方法，更根本上依然是我们对于自己的理解、规划和持之以恒的执行，这里面无关运气更关乎实力，不是环境带来的成长去选择你，而是你选择在任何环境中都能成长，具备选择权后，剩下的无非是规划、执行与坚持，无它！</p>
<p>死磕+自律 和修行差不多，实力才是硬道理。将学习变成习惯</p>
</blockquote>
<h1 id="3、技术骨干"><a href="#3、技术骨干" class="headerlink" title="3、技术骨干"></a>3、技术骨干</h1><h2 id="技术骨干身上的几个特征"><a href="#技术骨干身上的几个特征" class="headerlink" title="技术骨干身上的几个特征:"></a><strong>技术骨干身上的几个特征:</strong></h2><p>1、技术底子扎实</p>
<blockquote>
<p>万丈高楼平地起，靠的就是深厚的地基</p>
</blockquote>
<p>2、善于独立解决难题</p>
<p>最终的解决依然是靠他个人</p>
<p>3、不畏惧陌生领域的挑战</p>
<p>4、极少让别人失望</p>
<p>所有技术好的同学都具备这样一个使命必达的执行力</p>
<p>==================================</p>
<h2 id="如何快速成长为技术骨干："><a href="#如何快速成长为技术骨干：" class="headerlink" title="如何快速成长为技术骨干："></a><strong>如何快速成长为技术骨干：</strong></h2><p>1、问清楚任务的 what 和 why</p>
<p> 任务的 what 和 why，需要你跟老板明确对焦，我所缺少的。我们会更了解到自己做这件事情的价值，对于结果也会更有期待，原始的驱动力天然就存在了。</p>
<p>2、 从过程中而不是从结果中学习</p>
<p>有的人非常焦急的需求答案，解决后便丢在脑后，这事非常不可取的学习方式，我就是这样。每一次丢弃都丧失了一次成长的机会。每一次拿到结果后，可以写一篇博客记录，也可以记个笔记，也可以弄张纸 review 一下，也可以讲给别人听，本质上是让自己重新播放刚才解决问题的过程，从中观察是什么样有意无意的动作和思考方式，启发了自己最终找到关键线索和路径，这样的一个思考过程反复锤炼会形成一个解决问题的套路库。</p>
<p>让自己不仅仅对于技术框架或方案的细节更了解，也对于它们宏观上的特征更了解，最终让自己的问题解决能力越来越高效。</p>
<p>3、以开放的视角看待一切技术存在</p>
<p>4、 坚持高强度的学习和持续性的总结</p>
<p>我们距离一个技术骨干就差一个习惯了，这个习惯就是高强度的学习和持续性总结的习惯，为什么学习要高强度，而总结要持续性呢？</p>
<p>学习是为了输入，知识体系变得有力量一定需要足够的输入，而输入从哪里来，做了几年项目就厉害吗，未必，需要内修基本功，通过做业务深入到框架内部学习，学习源码，学习框架设计思想</p>
<p>至于说高强度，是因为低烈度的输入会伴随着遗忘，更会导致整个学习周期过长，更容易看不到质变而感觉枯燥无味甚至弃坑而去，这尤其在新人身上容易发生。如果让我建议一个学习的周期，我觉得 1~2 个月的高强度学习，分成 2 ~ 4 个小阶段是可取的，如果 2 个月没有明显进阶，那么需要推倒重来从 0 开始，而不是续命。</p>
<p>伴随着学习的一定是总结，所有的美食入口到胃，长长的肠道蠕动很久后，营养成分才能被机体充分吸收，最终再合成为新的动力之源要么燃烧要么存储备用，这时候的摄入才转成自己身体的一部分。无论是项目开发还是单纯的学习，都要给自己建立一套 review 机制，通过 review 把自己摄入的零碎的知识点进行重组串联，反反复复的理解消化，并重新输入一套新的知识蓝图把它刻到自己的记忆硬盘中，通过这样的持续性的总结归纳，自己的记忆硬盘会的不断的升级调整，最终对于所有知识的理解会越来越立体。</p>
<p> 目标思维很重要，聚焦价值，多做修正，以始为终，结果导向</p>
<p>比如在学习新技术的时候，可以首先定一个目标，开发一个功能相对完备的小项目，这就比写 hello world 要好很多。在开发中就可以不断学习巩固</p>
<h1 id="4、定每天的任务而不是时间"><a href="#4、定每天的任务而不是时间" class="headerlink" title="4、定每天的任务而不是时间"></a><strong>4、定每天的任务而不是时间</strong></h1><p>把每天的任务完成，而不是每天学习多长时间，坚持敲代码思考总结写博客</p>
<p>这十几年我一共做了三件事：<br>1、不以赚钱为目的选择学习的内容；<br>2、以自己是否能造出轮子来衡量学习的效果；<br>3、坚持每天写自己的代码，前10年每天至少6个小时，不包含学习和工作的时间。</p>

        </div>
        
        
        
    </div>
</div>








    
<div class="card">
    
    <div class="card-content article ">
        
        <div class="level article-meta is-size-7 is-uppercase is-mobile is-overflow-x-auto">
            <div class="level-left">
                <time class="level-item has-text-grey" datetime="2020-03-15T08:19:56.975Z">2020-03-15</time>
                
                
                <span class="level-item has-text-grey">
                    
                    
                    8 分钟 读完 (大约 1132 个字)
                </span>
                
                
            </div>
        </div>
        
        <h1 class="title is-size-3 is-size-4-mobile has-text-weight-normal">
            
                <a class="has-link-black-ter" href="/2020/03/15/hero%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/">hero学习笔记</a>
            
        </h1>
        <div class="content">
            <hr>
<h2 id="Hexo和Gitee-码云-搭建个人博客记录"><a href="#Hexo和Gitee-码云-搭建个人博客记录" class="headerlink" title="Hexo和Gitee(码云)搭建个人博客记录"></a>Hexo和Gitee(码云)搭建个人博客记录</h2><h2 id="Hexo简介"><a href="#Hexo简介" class="headerlink" title="Hexo简介"></a>Hexo简介</h2><p>Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 <a href="http://daringfireball.net/projects/markdown/">Markdown</a>（或其他渲染引擎）解析文章，在几秒内，即可利用靓丽的主题生成静态网页。</p>
<p>安装 Hexo前需要提前安装：</p>
<ul>
<li>Node.js</li>
<li>git</li>
</ul>
<p>[]: </p>
<h3 id="1、安装Hexo"><a href="#1、安装Hexo" class="headerlink" title="1、安装Hexo"></a>1、安装Hexo</h3><p>新建文件夹，比如我这里建立 “hexo_blog”</p>
<p>打开cmd终端或者使用Git Bash Here命令界面，输入命令安装：</p>
<p><img src="/2020/03/15/hero%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/image-20200316152342819.png" alt="image-20200316152342819"></p>
<h2 id="1-1-设置cnpm"><a href="#1-1-设置cnpm" class="headerlink" title="1.1 设置cnpm"></a>1.1 设置cnpm</h2><ul>
<li>先设置npm的镜像源为淘宝源，提高下载速度</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install -g cnpm --registry=https://registry.npm.taobao.org</span><br></pre></td></tr></table></figure>

<h2 id="1-2-初始化博客"><a href="#1-2-初始化博客" class="headerlink" title="1.2 初始化博客"></a>1.2 初始化博客</h2><ul>
<li>安装hexo</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">$ cnpm install -g hexo-cli</span><br><span class="line">$ hexo -v</span><br><span class="line">$ hexo init</span><br></pre></td></tr></table></figure>

<ul>
<li><p>init完成后，执行npm install 命令</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install</span><br></pre></td></tr></table></figure>



</li>
</ul>
<ul>
<li><p>执行hexo server命令运行服务，浏览器输入 <a href="http://localhost:4000/">http://localhost:4000</a>访问</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable">$hexo</span> server</span><br></pre></td></tr></table></figure>

<p><img src="/2020/03/15/hero%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/image-20200316154956833.png" alt="image-20200316154956833"></p>
</li>
</ul>
<h2 id="1-3-安装hexo-成功"><a href="#1-3-安装hexo-成功" class="headerlink" title="1.3 安装hexo 成功"></a>1.3 安装hexo 成功</h2><ul>
<li>这时候代表本地的hexo博客安装成功了。</li>
</ul>
<h2 id="1-4-新建博客文章"><a href="#1-4-新建博客文章" class="headerlink" title="1.4 新建博客文章"></a>1.4 新建博客文章</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable">$hexo</span> new <span class="string">"第一篇博客"</span></span><br></pre></td></tr></table></figure>

<p><img src="/2020/03/15/hero%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/image-20200316155431906.png" alt="image-20200316155431906"></p>
<p>​    创建好的博客文件目录D:\hexo_blog\source_posts</p>
<p><img src="/2020/03/15/hero%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/image-20200316162959786.png" alt="image-20200316162959786"></p>
<ul>
<li><p>hexo g 命令生成网页文件，文件存放在public目录</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable">$hexo</span> g</span><br></pre></td></tr></table></figure>



</li>
</ul>
<ul>
<li><p>hexo s 命令 启动本地博客服务，在浏览器中输入localhost:4000/ 查看</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable">$hexo</span> s</span><br></pre></td></tr></table></figure>



</li>
</ul>
<h2 id="1-5运行测试"><a href="#1-5运行测试" class="headerlink" title="1.5运行测试"></a>1.5运行测试</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable">$hexo</span> clean  <span class="comment">#用来清理缓存文件</span></span><br><span class="line"><span class="variable">$hexo</span>  g     <span class="comment">#生成文件</span></span><br><span class="line"><span class="variable">$hexo</span>  s     <span class="comment">#运行本地服务器</span></span><br><span class="line"><span class="variable">$hexo</span>  d     <span class="comment">#上传到服务器</span></span><br></pre></td></tr></table></figure>

<h2 id="2-使用icarus-主题"><a href="#2-使用icarus-主题" class="headerlink" title="2.使用icarus 主题"></a>2.使用icarus 主题</h2><p>官方主题：<a href="https://hexo.io/themes/">https://hexo.io/themes/</a></p>
<ul>
<li>方法1：下载icarus主题到本地</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable">$git</span> <span class="built_in">clone</span> https://github.com/ppoffice/hexo-theme-icarus.git themes/icarus</span><br></pre></td></tr></table></figure>

<ul>
<li><p>方法2：主题地址：<a href="https://github.com/ppoffice/hexo-theme-icarus">https://github.com/ppoffice/hexo-theme-icarus</a></p>
<p>下载主题解压到根目录hexo-bolg\themes文件夹下，文件夹名简写icarus</p>
</li>
<li><p>在站点配置文件（D:\hexo_blog\themes）<strong>_config.yml</strong>中将主题改为icarus</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># Site</span></span><br><span class="line">title: Hexo</span><br><span class="line">subtitle: <span class="string">''</span></span><br><span class="line">description: <span class="string">''</span></span><br><span class="line">keywords:</span><br><span class="line">author: John Doe</span><br><span class="line">language: zh-CN   <span class="comment">#语言改为中文</span></span><br><span class="line">timezone: <span class="string">''</span></span><br></pre></td></tr></table></figure>



</li>
</ul>
<ul>
<li><p>在icarus主题的配置文件（D:\hexo_blog\themes\icarus）<strong>_config.yml</strong>中设置博客头像、昵称、签名、菜单栏改为中文、开启缩略图、分享插件等信息，并可以去掉部分不需要的链接信息，部分配置如下：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># Navigation bar link settings</span></span><br><span class="line">navbar:</span><br><span class="line">    <span class="comment"># Navigation bar menu links</span></span><br><span class="line">    menu:</span><br><span class="line">        主页: /</span><br><span class="line">        归档: /archives</span><br><span class="line">        分类: /categories</span><br><span class="line">        标签: /tags</span><br><span class="line">        关于: /about</span><br></pre></td></tr></table></figure>



</li>
</ul>
<p>  <strong>注意</strong>：_config.xml两个配置文件一个在项目根目录下，一个在主题文件根目录下。</p>
<ul>
<li>​    到此 ，本地hexo博客已经搭建完成，下一步博客部署到Gitee</li>
</ul>
<h1 id="3、本地博客部署到Gitee"><a href="#3、本地博客部署到Gitee" class="headerlink" title="3、本地博客部署到Gitee"></a>3、本地博客部署到Gitee</h1><h2 id="3-1新建仓库"><a href="#3-1新建仓库" class="headerlink" title="3.1新建仓库"></a>3.1新建仓库</h2><p>gitee网址：<a href="https://gitee.com/">https://gitee.com/</a></p>
<p>在gitee上注册账号并新建个人博客仓库</p>
<p><img src="/2020/03/15/hero%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/image-20200316164554516.png" alt="image-20200316164554516"></p>
<ul>
<li>安装hexo git部署工具</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ npm install hexo-deployer-git --save</span><br></pre></td></tr></table></figure>

<ul>
<li><p>在_config.xml配置hexo部署仓库</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># Deployment</span></span><br><span class="line"><span class="comment">## Docs: https://hexo.io/docs/deployment.html</span></span><br><span class="line">deploy:</span><br><span class="line">  <span class="built_in">type</span>: git</span><br><span class="line">  repo: https://gitee.com/lei929/lei929.git</span><br><span class="line">  branch: master</span><br></pre></td></tr></table></figure>
</li>
<li><p>执行hexo d命令将博客上传至仓库，首次上传会让填写gitee 账号和密码</p>
</li>
<li><p>开启gitee pages服务</p>
</li>
<li><p><img src="/2020/03/15/hero%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/image-20200316165003211.png" alt="image-20200316165003211"></p>
</li>
<li><p>开启后使用提供的网址即可访问博客，每次重新上传代码到gitee时都需要点击下图的更新按钮重启page服务</p>
<p><img src="/2020/03/15/hero%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/image-20200316165120498.png" alt="image-20200316165120498"></p>
</li>
<li><p>在站点配置文件_config.xml设置博客地址，使生成的博客资源可以正常访问</p>
<figure class="highlight xml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"># URL</span><br><span class="line">## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'</span><br><span class="line">url: https://lei929.gitee.io</span><br><span class="line">root: /</span><br></pre></td></tr></table></figure>



</li>
</ul>
<ul>
<li><p>执行hexo clean &amp;&amp; hexo g &amp;&amp; hexo d重新上传博客资源，点击更新后访问博客</p>
<h2 id><a href="#" class="headerlink" title></a></h2></li>
</ul>
<h2 id="3-2添加图片插件"><a href="#3-2添加图片插件" class="headerlink" title="3.2添加图片插件"></a>3.2添加图片插件</h2><ul>
<li>在_config.yml配置文件中，修改为 post_asset_folder: true</li>
<li>安装图片插件</li>
<li>新建一篇文章，会生成</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-asset-image --save</span><br></pre></td></tr></table></figure>

<h1 id="4、FAQ"><a href="#4、FAQ" class="headerlink" title="4、FAQ"></a>4、FAQ</h1><h2 id="Hexo-init-初始化超时443"><a href="#Hexo-init-初始化超时443" class="headerlink" title="Hexo init 初始化超时443"></a>Hexo init 初始化超时443</h2><p><img src="/2020/03/15/hero%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/image-20200316153302253.png" alt="image-20200316153302253"></p>
<h2 id="gitee域名问题"><a href="#gitee域名问题" class="headerlink" title="gitee域名问题"></a>gitee域名问题</h2><p>如何创建一个首页访问地址不带二级目录的 pages？</p>
<p>git域名之前是这样的，<a href="https://lei929.gitee.io/hexo-blog">https://lei929.gitee.io/hexo-blog</a></p>
<p><strong>你需要建立一个与自己个性地址同名的仓库</strong></p>
<p>如<a href="https://gitee.com/ipvb/ipvb">https://gitee.com/ipvb/ipvb</a> ，这样就可以 <a href="https://ipvb.gitee.io/">https://ipvb.gitee.io</a> 进行访问了</p>
<h2 id="图片显示问题"><a href="#图片显示问题" class="headerlink" title="图片显示问题"></a>图片显示问题</h2><p>按照网上配置之后图片一致出不来，试了好几次发现服务器代码没有被替代，可能有延迟或缓存问题，可以现在本地起服务测试</p>

        </div>
        
        
        
    </div>
</div>








</div>
                




<div class="column is-4-tablet is-4-desktop is-3-widescreen  has-order-1 column-left ">
    
        
<div class="card widget">
    <div class="card-content">
        <nav class="level">
            <div class="level-item has-text-centered" style="flex-shrink: 1">
                <div>
                    
                    <figure class="image is-128x128 has-mb-6">
                        <img class="" src="/images/avatar.png" alt="海澈">
                    </figure>
                    
                    <p class="is-size-4 is-block">
                        海澈
                    </p>
                    
                    
                    <p class="is-size-6 is-block">
                        格物致知诚意正心修身
                    </p>
                    
                    
                    <p class="is-size-6 is-flex is-flex-center has-text-grey">
                        <i class="fas fa-map-marker-alt has-mr-7"></i>
                        <span>北京</span>
                    </p>
                    
                </div>
            </div>
        </nav>
        <nav class="level is-mobile">
            <div class="level-item has-text-centered is-marginless">
                <div>
                    <p class="heading">
                        文章
                    </p>
                    <a href="/archives">
                        <p class="title has-text-weight-normal">
                            7
                        </p>
                    </a>
                </div>
            </div>
            <div class="level-item has-text-centered is-marginless">
                <div>
                    <p class="heading">
                        分类
                    </p>
                    <a href="/categories">
                        <p class="title has-text-weight-normal">
                            0
                        </p>
                    </a>
                </div>
            </div>
            <div class="level-item has-text-centered is-marginless">
                <div>
                    <p class="heading">
                        标签
                    </p>
                    <a href="/tags">
                        <p class="title has-text-weight-normal">
                            0
                        </p>
                    </a>
                </div>
            </div>
        </nav>
        
        <div class="level">
            <a class="level-item button is-link is-rounded" href="https://github.com/ppoffice" target="_blank" rel="noopener">
                关注我</a>
        </div>
        
        
        
        <div class="level is-mobile">
            
            <a class="level-item button is-white is-marginless" target="_blank" rel="noopener"
                title="Github" href="https://github.com/ppoffice">
                
                <i class="fab fa-github"></i>
                
            </a>
            
            <a class="level-item button is-white is-marginless" target="_blank" rel="noopener"
                title="Facebook" href="https://facebook.com">
                
                <i class="fab fa-facebook"></i>
                
            </a>
            
            <a class="level-item button is-white is-marginless" target="_blank" rel="noopener"
                title="Twitter" href="https://twitter.com">
                
                <i class="fab fa-twitter"></i>
                
            </a>
            
            <a class="level-item button is-white is-marginless" target="_blank" rel="noopener"
                title="Dribbble" href="https://dribbble.com">
                
                <i class="fab fa-dribbble"></i>
                
            </a>
            
            <a class="level-item button is-white is-marginless" target="_blank" rel="noopener"
                title="RSS" href="/">
                
                <i class="fas fa-rss"></i>
                
            </a>
            
        </div>
        
    </div>
</div>
    
        
    
        <div class="card widget">
    <div class="card-content">
        <div class="menu">
        <h3 class="menu-label">
            链接
        </h3>
        <ul class="menu-list">
        
            <li>
                <a class="level is-mobile" href="https://hexo.io" target="_blank" rel="noopener">
                    <span class="level-left">
                        <span class="level-item">Hexo</span>
                    </span>
                    <span class="level-right">
                        <span class="level-item tag">hexo.io</span>
                    </span>
                </a>
            </li>
        
            <li>
                <a class="level is-mobile" href="https://github.com/ppoffice" target="_blank" rel="noopener">
                    <span class="level-left">
                        <span class="level-item">PPOffice</span>
                    </span>
                    <span class="level-right">
                        <span class="level-item tag">github.com</span>
                    </span>
                </a>
            </li>
        
        </ul>
        </div>
    </div>
</div>

    
        
<div class="card widget">
    <div class="card-content">
        <div class="menu">
            <h3 class="menu-label">
                分类
            </h3>
            <ul class="menu-list">
            
            </ul>
        </div>
    </div>
</div>
    
        
    
    
        <div class="column-right-shadow is-hidden-widescreen ">
        
            <div class="card widget">
    <div class="card-content">
        <h3 class="menu-label">
            最新文章
        </h3>
        
        <article class="media">
            
            <a href="/2020/03/21/node%E7%AC%94%E8%AE%B0/" class="media-left">
                <p class="image is-64x64">
                    <img class="thumbnail" src="/images/thumbnail.svg" alt="node笔记">
                </p>
            </a>
            
            <div class="media-content">
                <div class="content">
                    <div><time class="has-text-grey is-size-7 is-uppercase" datetime="2020-03-21T12:54:44.958Z">2020-03-21</time></div>
                    <a href="/2020/03/21/node%E7%AC%94%E8%AE%B0/" class="title has-link-black-ter is-size-6 has-text-weight-normal">node笔记</a>
                    <p class="is-size-7 is-uppercase">
                        
                    </p>
                </div>
            </div>
        </article>
        
        <article class="media">
            
            <a href="/2020/03/19/promise%E5%9F%BA%E7%A1%80%E5%AD%A6%E4%B9%A0/" class="media-left">
                <p class="image is-64x64">
                    <img class="thumbnail" src="/images/thumbnail.svg" alt="promise基础学习">
                </p>
            </a>
            
            <div class="media-content">
                <div class="content">
                    <div><time class="has-text-grey is-size-7 is-uppercase" datetime="2020-03-19T02:31:00.849Z">2020-03-19</time></div>
                    <a href="/2020/03/19/promise%E5%9F%BA%E7%A1%80%E5%AD%A6%E4%B9%A0/" class="title has-link-black-ter is-size-6 has-text-weight-normal">promise基础学习</a>
                    <p class="is-size-7 is-uppercase">
                        
                    </p>
                </div>
            </div>
        </article>
        
        <article class="media">
            
            <a href="/2020/03/17/MD%E8%AF%AD%E6%B3%95%E5%81%8F%E5%A5%BD/" class="media-left">
                <p class="image is-64x64">
                    <img class="thumbnail" src="/images/thumbnail.svg" alt="MD语法偏好">
                </p>
            </a>
            
            <div class="media-content">
                <div class="content">
                    <div><time class="has-text-grey is-size-7 is-uppercase" datetime="2020-03-17T01:26:59.641Z">2020-03-17</time></div>
                    <a href="/2020/03/17/MD%E8%AF%AD%E6%B3%95%E5%81%8F%E5%A5%BD/" class="title has-link-black-ter is-size-6 has-text-weight-normal">MD语法偏好</a>
                    <p class="is-size-7 is-uppercase">
                        
                    </p>
                </div>
            </div>
        </article>
        
        <article class="media">
            
            <a href="/2020/03/17/vscode%E8%AE%B0%E5%BD%95/" class="media-left">
                <p class="image is-64x64">
                    <img class="thumbnail" src="/images/thumbnail.svg" alt="vscode记录">
                </p>
            </a>
            
            <div class="media-content">
                <div class="content">
                    <div><time class="has-text-grey is-size-7 is-uppercase" datetime="2020-03-17T01:12:12.286Z">2020-03-17</time></div>
                    <a href="/2020/03/17/vscode%E8%AE%B0%E5%BD%95/" class="title has-link-black-ter is-size-6 has-text-weight-normal">vscode记录</a>
                    <p class="is-size-7 is-uppercase">
                        
                    </p>
                </div>
            </div>
        </article>
        
        <article class="media">
            
            <a href="/2020/03/17/%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95/" class="media-left">
                <p class="image is-64x64">
                    <img class="thumbnail" src="/images/thumbnail.svg" alt="学习方法">
                </p>
            </a>
            
            <div class="media-content">
                <div class="content">
                    <div><time class="has-text-grey is-size-7 is-uppercase" datetime="2020-03-17T01:08:16.872Z">2020-03-17</time></div>
                    <a href="/2020/03/17/%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95/" class="title has-link-black-ter is-size-6 has-text-weight-normal">学习方法</a>
                    <p class="is-size-7 is-uppercase">
                        
                    </p>
                </div>
            </div>
        </article>
        
    </div>
</div>
        
            <div class="card widget">
    <div class="card-content">
        <div class="menu">
        <h3 class="menu-label">
            归档
        </h3>
        <ul class="menu-list">
        
        <li>
            <a class="level is-marginless" href="/archives/2020/03/">
                <span class="level-start">
                    <span class="level-item">三月 2020</span>
                </span>
                <span class="level-end">
                    <span class="level-item tag">7</span>
                </span>
            </a>
        </li>
        
        </ul>
        </div>
    </div>
</div>
        
            <div class="card widget">
    <div class="card-content">
        <div class="menu">
            <h3 class="menu-label">
                标签
            </h3>
            <div class="field is-grouped is-grouped-multiline">
                
            </div>
        </div>
    </div>
</div>
        
        </div>
    
</div>



                




<div class="column is-4-tablet is-4-desktop is-3-widescreen is-hidden-touch is-hidden-desktop-only has-order-3 column-right ">
    
        <div class="card widget">
    <div class="card-content">
        <h3 class="menu-label">
            最新文章
        </h3>
        
        <article class="media">
            
            <a href="/2020/03/21/node%E7%AC%94%E8%AE%B0/" class="media-left">
                <p class="image is-64x64">
                    <img class="thumbnail" src="/images/thumbnail.svg" alt="node笔记">
                </p>
            </a>
            
            <div class="media-content">
                <div class="content">
                    <div><time class="has-text-grey is-size-7 is-uppercase" datetime="2020-03-21T12:54:44.958Z">2020-03-21</time></div>
                    <a href="/2020/03/21/node%E7%AC%94%E8%AE%B0/" class="title has-link-black-ter is-size-6 has-text-weight-normal">node笔记</a>
                    <p class="is-size-7 is-uppercase">
                        
                    </p>
                </div>
            </div>
        </article>
        
        <article class="media">
            
            <a href="/2020/03/19/promise%E5%9F%BA%E7%A1%80%E5%AD%A6%E4%B9%A0/" class="media-left">
                <p class="image is-64x64">
                    <img class="thumbnail" src="/images/thumbnail.svg" alt="promise基础学习">
                </p>
            </a>
            
            <div class="media-content">
                <div class="content">
                    <div><time class="has-text-grey is-size-7 is-uppercase" datetime="2020-03-19T02:31:00.849Z">2020-03-19</time></div>
                    <a href="/2020/03/19/promise%E5%9F%BA%E7%A1%80%E5%AD%A6%E4%B9%A0/" class="title has-link-black-ter is-size-6 has-text-weight-normal">promise基础学习</a>
                    <p class="is-size-7 is-uppercase">
                        
                    </p>
                </div>
            </div>
        </article>
        
        <article class="media">
            
            <a href="/2020/03/17/MD%E8%AF%AD%E6%B3%95%E5%81%8F%E5%A5%BD/" class="media-left">
                <p class="image is-64x64">
                    <img class="thumbnail" src="/images/thumbnail.svg" alt="MD语法偏好">
                </p>
            </a>
            
            <div class="media-content">
                <div class="content">
                    <div><time class="has-text-grey is-size-7 is-uppercase" datetime="2020-03-17T01:26:59.641Z">2020-03-17</time></div>
                    <a href="/2020/03/17/MD%E8%AF%AD%E6%B3%95%E5%81%8F%E5%A5%BD/" class="title has-link-black-ter is-size-6 has-text-weight-normal">MD语法偏好</a>
                    <p class="is-size-7 is-uppercase">
                        
                    </p>
                </div>
            </div>
        </article>
        
        <article class="media">
            
            <a href="/2020/03/17/vscode%E8%AE%B0%E5%BD%95/" class="media-left">
                <p class="image is-64x64">
                    <img class="thumbnail" src="/images/thumbnail.svg" alt="vscode记录">
                </p>
            </a>
            
            <div class="media-content">
                <div class="content">
                    <div><time class="has-text-grey is-size-7 is-uppercase" datetime="2020-03-17T01:12:12.286Z">2020-03-17</time></div>
                    <a href="/2020/03/17/vscode%E8%AE%B0%E5%BD%95/" class="title has-link-black-ter is-size-6 has-text-weight-normal">vscode记录</a>
                    <p class="is-size-7 is-uppercase">
                        
                    </p>
                </div>
            </div>
        </article>
        
        <article class="media">
            
            <a href="/2020/03/17/%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95/" class="media-left">
                <p class="image is-64x64">
                    <img class="thumbnail" src="/images/thumbnail.svg" alt="学习方法">
                </p>
            </a>
            
            <div class="media-content">
                <div class="content">
                    <div><time class="has-text-grey is-size-7 is-uppercase" datetime="2020-03-17T01:08:16.872Z">2020-03-17</time></div>
                    <a href="/2020/03/17/%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95/" class="title has-link-black-ter is-size-6 has-text-weight-normal">学习方法</a>
                    <p class="is-size-7 is-uppercase">
                        
                    </p>
                </div>
            </div>
        </article>
        
    </div>
</div>
    
        <div class="card widget">
    <div class="card-content">
        <div class="menu">
        <h3 class="menu-label">
            归档
        </h3>
        <ul class="menu-list">
        
        <li>
            <a class="level is-marginless" href="/archives/2020/03/">
                <span class="level-start">
                    <span class="level-item">三月 2020</span>
                </span>
                <span class="level-end">
                    <span class="level-item tag">7</span>
                </span>
            </a>
        </li>
        
        </ul>
        </div>
    </div>
</div>
    
        <div class="card widget">
    <div class="card-content">
        <div class="menu">
            <h3 class="menu-label">
                标签
            </h3>
            <div class="field is-grouped is-grouped-multiline">
                
            </div>
        </div>
    </div>
</div>
    
    
</div>



            </div>
        </div>
    </section>
    <footer class="footer">
    <div class="container">
        <div class="level">
            <div class="level-start has-text-centered-mobile">
                <a class="footer-logo is-block has-mb-6" href="/">
                
                    <img src="/images/logo.svg" alt="Hexo" height="28">
                
                </a>
                <p class="is-size-7">
                &copy; 2020 John Doe&nbsp;
                Powered by <a href="https://hexo.io/" target="_blank" rel="noopener">Hexo</a> & <a
                        href="https://github.com/ppoffice/hexo-theme-icarus" target="_blank" rel="noopener">Icarus</a>
                
                </p>
            </div>
            <div class="level-end">
            
                <div class="field has-addons is-flex-center-mobile has-mt-5-mobile is-flex-wrap is-flex-middle">
                
                <p class="control">
                    <a class="button is-white is-large" target="_blank" rel="noopener" title="Creative Commons" href="https://creativecommons.org/">
                        
                        <i class="fab fa-creative-commons"></i>
                        
                    </a>
                </p>
                
                <p class="control">
                    <a class="button is-white is-large" target="_blank" rel="noopener" title="Attribution 4.0 International" href="https://creativecommons.org/licenses/by/4.0/">
                        
                        <i class="fab fa-creative-commons-by"></i>
                        
                    </a>
                </p>
                
                <p class="control">
                    <a class="button is-white is-large" target="_blank" rel="noopener" title="Download on GitHub" href="https://github.com/ppoffice/hexo-theme-icarus">
                        
                        <i class="fab fa-github"></i>
                        
                    </a>
                </p>
                
                </div>
            
            </div>
        </div>
    </div>
</footer>
    <script src="https://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/moment@2.22.2/min/moment-with-locales.min.js"></script>
<script>moment.locale("zh-CN");</script>


<script>
var IcarusThemeSettings = {
    site: {
        url: 'https://lei929.gitee.io',
        external_link: {"enable":true,"exclude":[]}
    },
    article: {
        highlight: {
            clipboard: true,
            fold: 'unfolded'
        }
    }
};
</script>


<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.4/dist/clipboard.min.js" defer></script>





<script src="/js/animation.js"></script>



<script src="https://cdn.jsdelivr.net/npm/lightgallery@1.6.8/dist/js/lightgallery.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/justifiedGallery@3.7.0/dist/js/jquery.justifiedGallery.min.js" defer></script>
<script src="/js/gallery.js" defer></script>



<div id="outdated">
    <h6>Your browser is out-of-date!</h6>
    <p>Update your browser to view this website correctly. <a id="btnUpdateBrowser" href="http://outdatedbrowser.com/">Update
            my browser now </a></p>
    <p class="last"><a href="#" id="btnCloseUpdateBrowser" title="Close">&times;</a></p>
</div>
<script src="https://cdn.jsdelivr.net/npm/outdatedbrowser@1.1.5/outdatedbrowser/outdatedbrowser.min.js" defer></script>
<script>
    document.addEventListener("DOMContentLoaded", function () {
        outdatedBrowser({
            bgColor: '#f25648',
            color: '#ffffff',
            lowerThan: 'flex'
        });
    });
</script>


<script src="https://cdn.jsdelivr.net/npm/mathjax@2.7.5/unpacked/MathJax.js?config=TeX-MML-AM_CHTML" defer></script>
<script>
document.addEventListener('DOMContentLoaded', function () {
    MathJax.Hub.Config({
        'HTML-CSS': {
            matchFontHeight: false
        },
        SVG: {
            matchFontHeight: false
        },
        CommonHTML: {
            matchFontHeight: false
        },
        tex2jax: {
            inlineMath: [
                ['$','$'],
                ['\\(','\\)']
            ]
        }
    });
});
</script>


<a id="back-to-top" title="回到顶端" href="javascript:;">
    <i class="fas fa-chevron-up"></i>
</a>
<script src="/js/back-to-top.js" defer></script>














<script src="/js/main.js" defer></script>

    
    <div class="searchbox ins-search">
    <div class="searchbox-container ins-search-container">
        <div class="searchbox-input-wrapper">
            <input type="text" class="searchbox-input ins-search-input" placeholder="想要查找什么..." />
            <span class="searchbox-close ins-close ins-selectable"><i class="fa fa-times-circle"></i></span>
        </div>
        <div class="searchbox-result-wrapper ins-section-wrapper">
            <div class="ins-section-container"></div>
        </div>
    </div>
</div>
<script>
    (function (window) {
        var INSIGHT_CONFIG = {
            TRANSLATION: {
                POSTS: '文章',
                PAGES: '页面',
                CATEGORIES: '分类',
                TAGS: '标签',
                UNTITLED: '(无标题)',
            },
            CONTENT_URL: '/content.json',
        };
        window.INSIGHT_CONFIG = INSIGHT_CONFIG;
    })(window);
</script>
<script src="/js/insight.js" defer></script>
<link rel="stylesheet" href="/css/search.css">
<link rel="stylesheet" href="/css/insight.css">
    
</body>
</html>